chore(boxel-cli): sunset workspace-sync-cli — CS-11047 + CS-11162#4853
Open
FadhlanR wants to merge 3 commits into
Open
chore(boxel-cli): sunset workspace-sync-cli — CS-11047 + CS-11162#4853FadhlanR wants to merge 3 commits into
FadhlanR wants to merge 3 commits into
Conversation
Contributor
Host Test Results 1 files 1 suites 1h 31m 46s ⏱️ Results for commit 83d1c87. Realm Server Test Results 1 files ±0 1 suites ±0 8m 31s ⏱️ -22s Results for commit 83d1c87. ± Comparison against earlier commit b534880. |
…-cli CI job Folds workspace-sync-cli's qunit integration suite into the boxel-cli vitest suite and removes the standalone `workspace-sync-cli-test` CI job. The `workspace-sync-cli-build` job and the package source stay (out of scope per the ticket). Audit of the seven qunit cases: - Cases 1-4 (pull, push, pull --delete, push --dry-run): already covered by existing boxel-cli specs — dropped to avoid duplicate coverage. - Case 5 (.realm.json bidirectional): deliberately inverted by design. boxel-cli treats .realm.json as a protected file and never syncs it; CS-11131 phases the sidecar out entirely. - Case 6 (REALM_SECRET_SEED password derivation): N/A. boxel-cli captures credentials via `boxel profile add`; no equivalent code path. - Case 7 (.boxelignore patterns): ported as a new `it(...)` in `realm-push.test.ts` — boxel-cli supports .boxelignore (realm-sync-base.ts) but had no integration coverage for it. The spawn-based `start-test-realm.ts` helper is replaced by boxel-cli's in-process `startTestRealmServer` (stronger cleanup, no IPC handshake). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Collapse the multi-line writeLocalFile call in the new .boxelignore test to satisfy prettier's 80-col rule. Also remove the planning doc from the merged branch. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
60ff56d to
b534880
Compare
Every command the package shipped has a `boxel realm`-namespaced replacement on boxel-cli (push, pull, sync). CS-11047 already moved the test suite into the boxel-cli vitest job; this commit finishes the sunset by deleting the package source, the `workspace-sync-cli-build` CI job, the `change-check.workspace-sync-cli` filter, and the `Lint Workspace Sync CLI` step. Zero in-repo dependents — verified via `git grep '"@cardstack/workspace-sync-cli"' -- '**/package.json'`. The `npm deprecate` action is handled in a sibling ticket. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
lukemelia
approved these changes
May 20, 2026
jurgenwerk
approved these changes
May 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Sunsets
packages/workspace-sync-cli. Two combined tickets:workspace-sync-cli-testCI job. Net coverage check: 6/7 cases already covered by existing vitest specs (or deliberately dropped); 1 case (.boxelignore) ported as a new test.packages/workspace-sync-cli/entirely, plus its residual CI surface (workspace-sync-cli-buildjob,change-checkfilter entry,Lint Workspace Sync CLIstep).Zero internal dependents on
@cardstack/workspace-sync-cli(verified viagit grep '\"@cardstack/workspace-sync-cli\"' -- '**/package.json'). Out of scope: thenpm deprecateaction — handled in a sibling ticket in the same Linear project (remote-state, no code change).Linear: CS-11047 · CS-11162
Per-case audit verdict (CS-11047)
realm-pull.test.ts:56realm-push.test.ts:153, 194--deleteremoves extrasrealm-pull.test.ts:123--dry-runmodifies nothingrealm-push.test.ts:328.realm.jsonbidirectional sync.realm.jsonas protected; CS-11131 phases the sidecar out. Existing inverse coverage atrealm-sync.test.ts:441("protected files (.realm.json) are never synced").REALM_SECRET_SEEDpassword derivationboxel profile addfor credentials; no equivalent code path..boxelignorepatternsit(...)inrealm-push.test.ts. boxel-cli supports.boxelignore(src/lib/realm-sync-base.ts:697) but had no integration coverage.What got deleted
Tests / CI consolidation (CS-11047):
packages/workspace-sync-cli/tests/(integration-test.ts, helpers/start-test-realm.ts, index.ts, README.md).testscript +qunit/@types/qunitdevDeps frompackages/workspace-sync-cli/package.json.packages/workspace-sync-cli/.eslintrc.js.workspace-sync-cli-testjob (and its deadtest-web-assetsif:clause) in.github/workflows/ci.yaml.Package removal (CS-11162):
packages/workspace-sync-cli/directory (all remainingsrc/,scripts/,package.json, configs, README).workspace-sync-cli-buildjob in.github/workflows/ci.yaml.change-check.outputs.workspace-sync-cli+ filter glob in.github/workflows/ci.yaml.Lint Workspace Sync CLIstep in.github/workflows/ci-lint.yaml.Test plan
pnpm installfrom the worktree — succeeds; workspace project count drops from 31 → 30.git grep -nE 'workspace-(push|pull|sync-cli)' -- ':!pnpm-lock.yaml'— empty.pnpm lint:jsinpackages/boxel-cli— clean.Boxel CLI Testspasses.Workspace Sync CLI Build,Workspace Sync CLI Integration Tests, andLint Workspace Sync CLIare all absent from the checks list.Validate PR titlepasses against the newchore(boxel-cli):prefix.🤖 Generated with Claude Code